
using System.Collections.Generic;
using Common;
namespace CSC440TeamOne.Admin
{
    /// <summary>
    /// Name - IAdminController.cs
    /// Description - Interface for AdminController
    /// Programmer - CSC440 Team One
    /// Date coded - 11/27/2011
    /// Arguments - IBusinessService
    /// Variables - None
    /// Files accessed by this code artifact - None
    /// Files changed by this code artifact - None
    /// I/O - None
    /// Error Handling - None
    /// Modifications -
    ///     1.0 - Initial coding
    /// Known Faults -
    ///     1.0 - None known
    /// </summary>
    public interface IAdminController
    {
        /// <summary>
        /// Loads the tolerance config items.
        /// </summary>
        /// <returns></returns>
        ToleranceConfigListViewModel LoadToleranceConfigItems();

        /// <summary>
        /// Loads the health parameter by ID.
        /// </summary>
        /// <param name="healthParameterID">The health parameter ID.</param>
        /// <returns></returns>
        ToleranceConfigDetailsViewModel LoadHealthParameterByID(int healthParameterID);

        /// <summary>
        /// Saves the health parameter config.
        /// </summary>
        /// <param name="model">The model.</param>
        void SaveHealthParameterConfig(ToleranceConfigDetailsViewModel model);

        List<Question> LoadAllQuestions();

        void saveHelpText(int questionID, HelpText helpText);

        /// <summary>
        /// Gets the index of the user manual model by current.
        /// </summary>
        /// <param name="currentIndex">Index of the current.</param>
        /// <returns></returns>
        UserManualModel GetUserManualModelByCurrentIndex(int currentIndex);

        /// <summary>
        /// Saves the user manual model.
        /// </summary>
        /// <param name="model">The model.</param>
        void SaveUserManualModel(UserManualModel model);

        /// <summary>
        /// Adds the content of the user manual.
        /// </summary>
        /// <param name="model">The model.</param>
        void AddUserManualContent(UserManualModel model);

        /// <summary>
        /// Adds the user manual section.
        /// </summary>
        /// <param name="model">The model.</param>
        void AddUserManualSection(UserManualModel model);

        SendMessageModel getSendMessageModel();

        VerifyRecipeModel LoadVerifyRecipeModel(int p);

        SubmittedRecipesModel LoadSubmittedRecipesModel();
    }
}
